﻿using Newtonsoft.Json;
using PrintUnit;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Reflection;
using System.Windows.Forms;

namespace PrintDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Setprint()
        {
            
        }

        private void btn_printPreview_Click(object sender, EventArgs e)
        {

            PrintHelper printHelper = new PrintHelper("./XMLFile1.xml");
            List<object> saleList = new List<object>
            {
                new { Name = "", Weight = "22", Price = "33", Amount = "44" },
                //new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" },
                //new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" },
                new { Name = "猪", Weight = "22", Price = "33", Amount = "44肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉" },
                //new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" },
                
                //new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" },
                new { Name = "111猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉222", Weight = "22", Price = "33", Amount = "44" },
                new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" }
            };

            List<Class1> ls = new List<Class1>();
            ls.Add(new Class1 { Name = "猪肉1", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉2鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉3鸡肉鸡肉2鸭肉3牛肉4鸡肉2鸭肉3牛肉42鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉4鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉5", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉6鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉7鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉8鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉9鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉10鸡肉2鸭肉3鸡鸡肉2鸭肉3牛肉4鸡肉2鸭肉3牛肉4鸡肉2鸭肉3牛肉4鸡肉2鸭肉3牛肉4鸡肉2鸭肉3牛肉4鸡肉2鸭肉3", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉11鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉12鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉13鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉14鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉15鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉16鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉17鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉18鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            ls.Add(new Class1 { Name = "猪肉19鸡肉2鸭肉3牛肉4", Weight = 80m, Price = 15m, Amount = 1200m });
            var paramList = new { ID = "77", CreateDate = "22", PayName = "33", SaleAccount = "44", ZeroAccount ="22", ActualAccount ="df", ChangeAccount1 ="fgf"};
            printHelper.PrintPreview(ls, paramList);
        }

        private void btn_print_Click(object sender, EventArgs e)
        {
            PrintHelper printHelper = new PrintHelper("./XMLFile1.xml");
            List<object> saleList = new List<object>();
            saleList.Add(new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" });
            saleList.Add(new { Name = "猪肉", Weight = "22", Price = "33", Amount = "44" });
            #region 弃用
            //DataTable saletable = new DataTable();
            //saletable.Columns.Add(new DataColumn("Name", typeof(string)));
            //saletable.Columns.Add(new DataColumn("Weight", typeof(string)));
            //saletable.Columns.Add(new DataColumn("Price", typeof(string)));
            //saletable.Columns.Add(new DataColumn("Amount", typeof(string)));
            //DataRow row1 = saletable.NewRow();
            //row1["Name"] = "猪肉";
            //row1["Weight"] = "22";
            //row1["Price"] = "33";
            //row1["Amount"] = "44";
            //saletable.Rows.Add(row1);
            //Dictionary<string, string> paramArray = new Dictionary<string, string>();
            //paramArray.Add("ID", "74");
            //paramArray.Add("CreateDate", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            //paramArray.Add("PayName", "现金");
            //paramArray.Add("SaleAccount", "50.00");
            //paramArray.Add("ZeroAccount", "0.00");
            //paramArray.Add("ActualAccount", "50.00");
            //paramArray.Add("ChangeAccount", "0"); 
            #endregion
            var paramList = new { ID = "77", CreateDate = "22", PayName = "33", SaleAccount = "44", ZeroAccount = "22", ActualAccount = "df", ChangeAccount = "fgf" };
            printHelper.Print(saleList, paramList);
        }
    }
}
